package com.ctshk.rpc.hotel.service;

import com.ctshk.common.dto.Result;
import com.ctshk.common.model.TokenUser;
import com.ctshk.rpc.hotel.dto.ChimeLongCreateOrderPreDTO;
import com.ctshk.rpc.hotel.dto.chimelongProxy.ProxyDatas;
import com.ctshk.rpc.hotel.req.ChimeLongOrderUpdateReq;
import com.ctshk.rpc.hotel.req.ChimeLongProductPriceAndStockReq;
import com.ctshk.rpc.hotel.req.ChimelongProtocalReq;

import java.util.List;

/**
 * <p>
 * 长隆接口类方法
 * </p>
 *
 * @author yinhuan
 * @since 2021-03-03
 */
public interface IChimeLongAPIService {
    /**
     * 拉取全部长隆API酒店
     * @param user
     */
    Result saveAPIChimeLongHotel(TokenUser user);

    /**
     * 拉取全部长隆API酒店
     * @param productCodeList
     * @param user
     */
    Result getAPIChimeLongHotelProductByCode(List<String> productCodeList, TokenUser user);

    /**
     * 查询长隆产品价格
     * @param chimeLongProductPriceReq
     * @param user
     */
    Result getProductPriceChimeLong(ChimeLongProductPriceAndStockReq chimeLongProductPriceReq, TokenUser user);

//    /**
//     * 查询长隆产品库存
//     * @param chimeLongProductPriceReq
//     * @param user
//     */
//    Result getProductStockChimeLong(ChimeLongProductPriceAndStockReq chimeLongProductPriceReq, TokenUser user);

    //    /**
//     * 长隆创建订单，订单验证
//     * @param chimeLongCreateOrderPreDTO
//     * @param user
//     */
//    public Result chimeLongOrderCheck(ChimeLongCreateOrderPreDTO chimeLongCreateOrderPreDTO, TokenUser user);

    /**
     * 长隆创建订单
     * @param chimeLongCreateOrderPreDTO
     * @param user
     */
    public Result chimeLongOrderCreate(ChimeLongCreateOrderPreDTO chimeLongCreateOrderPreDTO, TokenUser user);

    /**
     * 长隆修改订单
     * @param chimeLongOrderUpdateReq
     * @param user
     */
    public Result chimelongOrderUpdate(ChimeLongOrderUpdateReq chimeLongOrderUpdateReq, TokenUser user);
    /**
     * 长隆取消订单
     * @param chimeLongIdOrOtaId
     * @param user
     */
    public Result chimeLongOrderCancel(String chimeLongIdOrOtaId, TokenUser user);


    /**
     * 长隆获取协议
     * @param chimelongProtocalReq
     * @param user
     */
    public Result chimeLongGetProtocal(ChimelongProtocalReq chimelongProtocalReq, TokenUser user);
}
